package com.weixing.mall.provider.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.weixing.mall.provider.model.domain.OutDepotBill;
import com.weixing.mall.provider.model.dto.OutDepotBillDto;
import com.weixing.mall.provider.model.dto.OutDepotChgIsFinishDto;
import com.weixing.mall.provider.model.query.DepotBillDetilQuery;
import com.weixing.mall.provider.model.query.OutDepotBillQuery;
import com.weixing.mall.provider.model.vo.InDepotBillVo;
import com.weixing.mall.provider.model.vo.OutDepotBillProductDetilVo;
import com.weixing.mall.provider.model.vo.OutDepotBillVo;

/**
 * <p>
 * 仓库模块-调货出库单 服务类
 * </p>
 *
 * @author Small
 * @since 2019-11-15
 */
public interface IOutDepotBillService extends IService<OutDepotBill> {

    IPage selectOfPage(Page page,OutDepotBillQuery outDepotBillQuery);

    IPage<OutDepotBillProductDetilVo> getOutDepotBillDetilList(Page page,DepotBillDetilQuery depotBillDetilQuery);

    long save(OutDepotBillDto outDepotBillDto, Long uid);

    void outDepotChgIsFinish(OutDepotChgIsFinishDto outDepotChgIsFinishDto);

    OutDepotBillVo getOutDepotBillById(Long id);

    OutDepotBillVo findMaxId();

    void saveAndAuit(OutDepotBillDto outDepotBillDto, Long uid);

    String  getOutBillSn(String value);

}
